package com.qumitech.visualnovel.service.channel;

import com.qumitech.visualnovel.model.dao.console.*;

import java.util.List;

/**
 * ChannelCPCDataService
 *
 * @author zhangbc
 */
public interface ChannelCPCDataService {

    /**
     * CPC渠道列表详情
     * @param startTime 开始日期
     * @param endTime 结束日期
     * @param channel 渠道名称
     * @param appId 产品ID
     * @param offset 页码
     * @param pageSize 页大小
     * @param orderType 排序方式
     * @param orderBy 排序字段
     * @return 列表详情信息
     */
    List<ChannelCPCStatistics> ChannelCPCDataList(String startTime, String endTime, String channel, String appId,
                                                  int offset, int pageSize, String orderType, String orderBy);

    /**
     * CPC渠道列表总数
     * @param startTime 开始日期
     * @param endTime 结束日期
     * @param channel 渠道名称
     * @param appId 产品ID
     * @return 列表总数
     */
    int ChannelCPCDataListCount(String startTime, String endTime, String channel, String appId);

    /**
     * CPC充值渠道列表详情
     * @param startTime 开始日期
     * @param endTime 结束日期
     * @param channel 渠道名称
     * @param appId 产品ID
     * @param offset 页码
     * @param pageSize 页大小
     * @param orderType 排序方式
     * @param orderBy 排序字段
     * @return 列表详情信息
     */
    List<ChannelCPCRechargeData> ChannelCPCRechargeList(String startTime, String endTime, String channel, String appId,
                                                        int offset, int pageSize, String orderType, String orderBy);

    /**
     * CPC充值渠道列表总数
     * @param startTime 开始日期
     * @param endTime 结束日期
     * @param channel 渠道名称
     * @param appId 产品ID
     * @return 列表总数
     */
    int ChannelCPCRechargeCount(String startTime, String endTime, String channel, String appId);
}
